﻿@*
//------------------------------------------------------------------------------
//  此代码版权声明为全文件覆盖，如有原作者特别声明，会在下方手动补充
//  此代码版权（除特别声明外的代码）归作者本人Diego所有
//  源代码使用协议遵循本仓库的开源协议及附加协议
//  Gitee源代码仓库：https://gitee.com/diego2098/ThingsGateway
//  Github源代码仓库：https://github.com/kimdiego2098/ThingsGateway
//  使用文档：https://diego2098.gitee.io/thingsgateway-docs/
//  QQ群：605534569
//------------------------------------------------------------------------------
*@

@namespace ThingsGateway.Foundation.Demo
@using BlazorComponent;
@using Microsoft.AspNetCore.Components.Web;
@using System.IO.Ports;
@using Masa.Blazor
<MCard Elevation="1" Rounded="false" Class="pa-2" Style="width:100%">
    <div class="mb-4">通道配置</div>
    <MRow Justify="JustifyTypes.Start" Align="AlignTypes.Center">
        <MTextField Style="max-width:100px" Class="ma-1" Outlined Label=@(serialProperty.DescriptionWithOutSugar(x => x.PortName)) Dense HideDetails="@("auto")" @bind-Value=@serialProperty.PortName />
        <MTextField Style="max-width:100px" Class="ma-1" Outlined Label=@(serialProperty.DescriptionWithOutSugar(x => x.BaudRate)) Dense HideDetails="@("auto")" @bind-Value=@serialProperty.BaudRate />
        <MTextField Style="max-width:100px" Class="ma-1" Outlined Label=@(serialProperty.DescriptionWithOutSugar(x => x.DataBits)) Dense HideDetails="@("auto")" @bind-Value=@serialProperty.DataBits />
        <MSelect Class="ma-1 " Style="max-width:200px" Outlined @bind-Value="serialProperty.Parity" Label="@(serialProperty.DescriptionWithOutSugar(x => x.Parity))"
                 Items=@(typeof(Parity).GetEnumListWithOutSugar())
                 MenuProps="@(props => { props.Auto = true; props.OffsetY = true; })"
                 ItemText=@((u) =>u.Description)
                 ItemValue=@(u =>(Parity)u.Value)
                 HideDetails=@("auto") Height="30"
                 Dense>
        </MSelect>
        <MSelect Class="ma-1 " Style="max-width:200px" Outlined @bind-Value="serialProperty.StopBits" Label="@(serialProperty.DescriptionWithOutSugar(x => x.StopBits))"
                 Items=@(typeof(StopBits).GetEnumListWithOutSugar())
                 MenuProps="@(props => { props.Auto = true; props.OffsetY = true; })"
                 ItemText=@((u) =>u.Description)
                 ItemValue=@(u =>(StopBits)u.Value)
                 HideDetails=@("auto") Height="30"
                 Dense>
        </MSelect>
        <MButton Class="ma-1" OnClick=@ConnectAsync Color="primary">
            连接
        </MButton>
        <MButton Class="ma-1" OnClick=@DisConnect Color="red">
            断开
        </MButton>
    </MRow>
</MCard>
